package com.shangke.corejava.ch4;
public class Array2 {
	public static void main(String[] args) {
		//设计一个二维数组，保持班级同学的作为信息
		//二维数组的定义：
		String sits[][]=new String[10][6];
		//String sits[][]=new String[][];   这句语句是错误的，必须制定行
		
		//锯齿数组：java没有严格意义的二维数组，而是指代数组的数组
		//二维数组的第二维度可以是不相等的，理解列数可以不相等，称为锯齿数组
		sits[0]=new String[6];//第一行有6列
		sits[1]=new String[3];//第二行有3列
		sits[2]=new String[9];//第三行有9列
		
		sits[0][0]="金泰亨";
		sits[0][1]="田柾国";
		sits[0][2]="朴智旻";
		sits[0][3]="金硕珍";
		sits[0][4]="金南俊";
		sits[0][5]="闵玧其";
		
		//二维数组的遍历
		System.out.println(sits.length);//注意：使用数组名length获取的数组长度是第一维度的长度；二维数组的第一维度长度的相同的
		//使用二重循环遍历二维数组
		for(int r=0;r<sits.length;r++){//先遍历出第一维度，行
			if(sits[r]!=null){
				for(int c=0;c<sits[r].length;c++){//再遍历 出每一列的数据，注意每一行的列数可能不一样
					System.out.print(sits[r][c]+"\t");
				}System.out.println();
			}else{
				System.out.println("第"+(r+1)+"行没有数据");
			}
		}
		
		//二维数组的其他定义方法
		String[] sits2[]=new String[10][6];
		String[][] sits3=new String[10][6];
		String sits4[][]=new String[10][6];
		//直接赋值时，不能指定行数和列数
		String[] sits5[] =new String[][]{{"","","","",""},{},{}};
		String[] sits6[] ={{"","","",""},{"",""},{"","",""},{"","","",""}};
		
		for(String[] row:sits){
			if(row!=null){
				for(String name:row){
					System.out.print(name+"\t");
				}System.out.println();
			}else{
				System.out.println("该行数据为空！");
			}
		}
	}
}
